package com.ruoyi.stuclient.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 班级信息对象 ewc_class
 *
 * @author lcj
 * @date 2025-02-27
 */
@Data
@TableName("ewc_class")
@Schema(description="班级信息对象ewc_class")
public class EwcClass implements Serializable{

    private static final long serialVersionUID = 1L;

    /** 班级唯一标识 */
    @Schema(description  = "班级唯一标识")
    private String id;

    /** 班级名称 */
    @Excel(name = "班级名称")
    @NotBlank(message = "班级名称不能为空")
    @Schema(description  = "班级名称")
    private String className;

    /** 班级简介 */
    @Excel(name = "班级简介")
    @Schema(description  = "班级简介")
    private String classDescription;

    /** 入学年份 */
    @Excel(name = "入学年份")
    @Schema(description  = "入学年份")
    private String enrollYear;

    /** 班级合影路径 */
    @Excel(name = "班级合影路径")
    @Schema(description  = "班级合影路径")
    private String classPhotoPath;

    /** 状态 */
    @Excel(name = "状态")
    @Schema(description  = "状态")
    private Integer status;

    /** 创建时间 */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @Schema(description  = "创建时间")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    @Schema(description  = "更新时间")
    private Date updateTime;

    /** 院系id */
    @Excel(name = "院系id")
    @NotBlank(message = "院系不能为空")
    @Schema(description  = "院系id")
    private String deptId;

    /** 班级类型 */
    @Excel(name = "班级类型")
    @NotNull(message = "班级类型不能为空")
    @Schema(description  = "班级类型0校内1校外")
    private Integer classType;

    /** 老师ID */
    @Excel(name = "老师ID")
    @Schema(description  = "老师ID")
    private String teacherId;

    /**
     * 班级年级
     */
    @NotNull(message = "班级年级不能为空")
    @Schema(description  = "班级年级")
    private Integer classGrade;
}
